Blockchain simulator
Chain-based
Bitcoin Simulator
Arthur Gervais (ETH Zurich, Switzerland) et al.
Built on NS3 (discrete-event simulator), C++ In VIVES paper,
it can only simulate up to 6,000 nodes and has no transactions
VIBES
Master’s Thesis by Fabian Sch¨ussler
Parameters (in Section 5.5)
E.g. blockTime: average, numberOfNeighbours, numberOfNodes: number of nodes, latency, maxBlockSize, networkBandwidth, attacker's hashRate, number of confirmations
Attacks
Double-spending or flood attack (selfish-mining is future work)
eVIBES: Extension for Ethereum
Visualization in React
Distributed Consensus Simulator
Shanghai Jiao Tong University
For sleepy consensus (Pass and Shi, 2016)
Python
Discreate event simulation (round-based, see Runner.py) SimBlock
TrustChain
OMNeT++
Shadow
Bitcoin
Scalability Analysis of Blockchains Through Blockchain Simulation
Sneha Goswami (University of Nevada)
Pierre-Yves Piriou, Jean-Francois Dumas (EDF R&D)
Monte Carlo simulations
shardSim
for running in a supercomputer
Sharding simulator
Ethereum grant
Barcelona Supercomputing Center – Scalability Grant – $50K. Sharding simulation.
BFT-based
Ripple simulator
Raftscope
Mir-protocol, Tendermint, Algorand
No malicious node
Hyperledger Blockchain Performance Metrics
DAG
DAG Sim
Manuel Zander (Imperial College London) et al. (and Dominik.icon)
Asynchronous, continuous time, and multi-agent simulation framework for DAG-based cryptocurrencies.
IOTA, SPECTRE(WIP)
Model honest and semi-honest actors in the system to analyse the behaviour of IOTA.
Result: the agents that have low latency and a high connection degree have a higher probability of having their transactions accepted in the network with honest and semi-honest strategies.
CIDDS
Master's thesis by Mohamed Riswan Abdul Lathif (Technical University of Munich)
For IOTA
Python, Django, NetworkX (for visualization) Parameters: the number of nodes, the number of transactions (n), the transaction rate (λ), the level of randomness (α) and the tip (i.e. a transaction to approve) selection algorithm
Homogeneous poisson point process for incoming transactions
SNOW
Demo app of Snow (consensus in Avalanche)
PHANTOM
Others
How to fake your numbers and get to millions of TPS Tweet